// .vuepress/config.js
module.exports = {
  title: "Yuki's Books",
  base: "/",
  head: [ // 注入到页面<head> 中的标签，格式[tagName, { attrName: attrValue }, innerHTML?]
    ['link', { rel: 'icon', href: 'https://cos.yuki520.cn/favicon.ico' }], //favicons，资源放在public文件夹
    ['meta', { name: 'keywords', content: '计算机,技术,文档'}],
    // 以下是vuepress-plugin-demo-block插件所需依赖
    // ['script', { src: 'https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js' }], // 此文件会影响导航router-link-active样式的切换，改为在enhanceApp.js中把Vue构造函数绑定到window上
    // ['script', { src: 'https://cdn.jsdelivr.net/npm/@babel/standalone/babel.min.js' }],
  ],
  configureWebpack: {
    resolve: {
      alias: {
        'cosUrl': 'https://yuki-1252851979.cos.ap-nanjing.myqcloud.com'
      }
    }
  },
  themeConfig: {
    // logo: '/assets/img/logo.png',
    repo: 'https://github.com/yuki0320/',
		// 自定义仓库链接文字。
		repoLabel: 'GitHub',
    lastUpdated: '最后更新时间',
    // sidebar: {
    //   "/docs/doc-jstdg7/": [
    //     "/docs/doc-jstdg7/",
    //     "/docs/doc-jstdg7/ch1.md",
    //     "/docs/doc-jstdg7/ch2.md",
    //     "/docs/doc-jstdg7/ch3.md",
    //     "/docs/doc-jstdg7/ch4.md",
    //     "/docs/doc-jstdg7/ch5.md",
    //     "/docs/doc-jstdg7/ch6.md",
    //     "/docs/doc-jstdg7/ch7.md",
    //     "/docs/doc-jstdg7/ch8.md",
    //     "/docs/doc-jstdg7/ch9.md",
    //     "/docs/doc-jstdg7/ch10.md",
    //     "/docs/doc-jstdg7/ch11.md",
    //     "/docs/doc-jstdg7/ch12.md",
    //     "/docs/doc-jstdg7/ch13.md",
    //     "/docs/doc-jstdg7/ch14.md",
    //     "/docs/doc-jstdg7/ch15.md",
    //     "/docs/doc-jstdg7/ch16.md",
    //     "/docs/doc-jstdg7/ch17.md",
    //   ],
    //   "/docs/doc-csstdg4/": [
    //     "/docs/doc-csstdg4/",
    //     "/docs/doc-csstdg4/ch1.md",
    //     "/docs/doc-csstdg4/ch2.md",
    //     "/docs/doc-csstdg4/ch3.md",
    //     "/docs/doc-csstdg4/ch4.md",
    //     "/docs/doc-csstdg4/ch5.md",
    //     "/docs/doc-csstdg4/ch6.md",
    //     "/docs/doc-csstdg4/ch7.md",
    //     "/docs/doc-csstdg4/ch8.md",
    //     "/docs/doc-csstdg4/ch9.md",
    //     "/docs/doc-csstdg4/ch10.md",
    //     "/docs/doc-csstdg4/ch11.md",
    //     "/docs/doc-csstdg4/ch12.md",
    //     "/docs/doc-csstdg4/ch13.md",
    //     "/docs/doc-csstdg4/ch14.md",
    //     "/docs/doc-csstdg4/ch15.md",
    //     "/docs/doc-csstdg4/ch16.md",
    //     "/docs/doc-csstdg4/ch17.md",
    //     "/docs/doc-csstdg4/ch18.md",
    //     "/docs/doc-csstdg4/ch19.md",
    //     "/docs/doc-csstdg4/ch20.md",
    //   ],
    //   "/docs/doc-the3m/": [
    //     "/docs/doc-the3m/",
    //     "/docs/doc-the3m/ch1.md",
    //     "/docs/doc-the3m/ch2.md",
    //     "/docs/doc-the3m/ch3.md",
    //     "/docs/doc-the3m/ch4.md",
    //     "/docs/doc-the3m/ch5.md",
    //     "/docs/doc-the3m/ch6.md",
    //     "/docs/doc-the3m/ch7.md",
    //     "/docs/doc-the3m/ch8.md",
    //     "/docs/doc-the3m/ch9.md",
    //     "/docs/doc-the3m/ch10.md",
    //     "/docs/doc-the3m/ch11.md",
    //     "/docs/doc-the3m/ch12.md",
    //     "/docs/doc-the3m/ch13.md",
    //     "/docs/doc-the3m/ch14.md",
    //     "/docs/doc-the3m/ch15.md",
    //     "/docs/doc-the3m/ch16.md",
    //     "/docs/doc-the3m/ch17.md",
    //     "/docs/doc-the3m/ch18.md",
    //     "/docs/doc-the3m/ch19.md",
    //   ],
    //   "/docs/doc-clean-code/": [
    //     "/docs/doc-clean-code/",
    //     "/docs/doc-clean-code/ch1.md",
    //     "/docs/doc-clean-code/ch2.md",
    //     "/docs/doc-clean-code/ch3.md",
    //     "/docs/doc-clean-code/ch4.md",
    //     "/docs/doc-clean-code/ch5.md",
    //     "/docs/doc-clean-code/ch6.md",
    //     "/docs/doc-clean-code/ch7.md",
    //     "/docs/doc-clean-code/ch8.md",
    //     "/docs/doc-clean-code/ch9.md",
    //     "/docs/doc-clean-code/ch10.md",
    //     "/docs/doc-clean-code/ch11.md",
    //     "/docs/doc-clean-code/ch12.md",
    //     "/docs/doc-clean-code/ch13.md",
    //     "/docs/doc-clean-code/ch14.md",
    //     "/docs/doc-clean-code/ch15.md",
    //     "/docs/doc-clean-code/ch16.md",
    //     "/docs/doc-clean-code/ch17.md",
    //     "/docs/doc-clean-code/apA.md"
    //   ],
    //   "/docs/doc-apofsd/": [
    //     "/docs/doc-apofsd/",
    //     "/docs/doc-apofsd/preface.md",
    //     "/docs/doc-apofsd/ch1.md",
    //     "/docs/doc-apofsd/ch2.md",
    //     "/docs/doc-apofsd/ch3.md",
    //     "/docs/doc-apofsd/ch4.md",
    //     "/docs/doc-apofsd/ch5.md",
    //     "/docs/doc-apofsd/ch6.md",
    //     "/docs/doc-apofsd/ch7.md",
    //     "/docs/doc-apofsd/ch8.md",
    //     "/docs/doc-apofsd/ch9.md",
    //     "/docs/doc-apofsd/ch10.md",
    //     "/docs/doc-apofsd/ch11.md",
    //     "/docs/doc-apofsd/ch12.md",
    //     "/docs/doc-apofsd/ch13.md",
    //     "/docs/doc-apofsd/ch14.md",
    //     "/docs/doc-apofsd/ch15.md",
    //     "/docs/doc-apofsd/ch16.md",
    //     "/docs/doc-apofsd/ch17.md",
    //     "/docs/doc-apofsd/ch18.md",
    //     "/docs/doc-apofsd/ch19.md",
    //     "/docs/doc-apofsd/ch20.md",
    //     "/docs/doc-apofsd/ch21.md",
    //     "/docs/doc-apofsd/summary.md"
    //   ],
    //   "/docs/doc-clean-architecture/": [
    //     "/docs/doc-clean-architecture/",
    //     {
    //       title: 'Part1. INTRODUCTION 概述',   // 必要的
    //       path: "/docs/doc-clean-architecture/part1",      // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-clean-architecture/ch1.md",
    //         "/docs/doc-clean-architecture/ch2.md",
    //       ]
    //     },
    //     {
    //       title: 'Part2. STARTING WITH THE BRICKS: PROGRAMMING PARADIGMS 从基础构件开始：编程范式',   // 必要的
    //       path:"/docs/doc-clean-architecture/part2",      // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-clean-architecture/ch3.md",
    //         "/docs/doc-clean-architecture/ch4.md",
    //         "/docs/doc-clean-architecture/ch5.md",
    //         "/docs/doc-clean-architecture/ch6.md",
    //       ]
    //     },
    //     {
    //       title: 'Part3. DESIGN PRINCIPLES 设计原则',   // 必要的
    //       path: "/docs/doc-clean-architecture/part3",       // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-clean-architecture/ch7.md",
    //         "/docs/doc-clean-architecture/ch8.md",
    //         "/docs/doc-clean-architecture/ch9.md",
    //         "/docs/doc-clean-architecture/ch10.md",
    //         "/docs/doc-clean-architecture/ch11.md",
    //       ]
    //     },
    //     {
    //       title: 'Part4. COMPONENT PRINCIPLES 组件构建原则',   // 必要的
    //       path:  "/docs/doc-clean-architecture/part4",      // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-clean-architecture/ch12.md",
    //         "/docs/doc-clean-architecture/ch13.md",
    //         "/docs/doc-clean-architecture/ch14.md",
    //       ]
    //     },
    //     {
    //       title: 'Part5. ARCHITECTURE 软件架构',   // 必要的
    //       path:  "/docs/doc-clean-architecture/part5",     // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-clean-architecture/ch15.md",
    //         "/docs/doc-clean-architecture/ch16.md",
    //         "/docs/doc-clean-architecture/ch17.md",
    //         "/docs/doc-clean-architecture/ch18.md",
    //         "/docs/doc-clean-architecture/ch19.md",
    //         "/docs/doc-clean-architecture/ch20.md",
    //         "/docs/doc-clean-architecture/ch21.md",
    //         "/docs/doc-clean-architecture/ch22.md",
    //         "/docs/doc-clean-architecture/ch23.md",
    //         "/docs/doc-clean-architecture/ch24.md",
    //         "/docs/doc-clean-architecture/ch25.md",
    //         "/docs/doc-clean-architecture/ch26.md",
    //         "/docs/doc-clean-architecture/ch27.md",
    //         "/docs/doc-clean-architecture/ch28.md",
    //         "/docs/doc-clean-architecture/ch29.md",
    //       ]
    //     },
    //     {
    //       title: 'Part6. DETAILS 实现细节',   // 必要的
    //       path:  "/docs/doc-clean-architecture/part6",     // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-clean-architecture/ch30.md",
    //         "/docs/doc-clean-architecture/ch31.md",
    //         "/docs/doc-clean-architecture/ch32.md",
    //         "/docs/doc-clean-architecture/ch33.md",
    //         "/docs/doc-clean-architecture/ch34.md",
    //       ]
    //     },
    //     "/docs/doc-clean-architecture/afterword.md"
    //   ],
    //   "/docs/doc-the3d/": [
    //     "/docs/doc-the3d/",
    //     {
    //       title: '第一部分 运用领域模型',   // 必要的
    //       path:  "/docs/doc-the3d/part1",       // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-the3d/ch1.md",
    //         "/docs/doc-the3d/ch2.md",
    //         "/docs/doc-the3d/ch3.md",
    //       ]
    //     },
    //     {
    //       title: '第二部分 模型驱动设计的构造块',   // 必要的
    //       path: "/docs/doc-the3d/part2",      // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-the3d/ch4.md",
    //         "/docs/doc-the3d/ch5.md",
    //         "/docs/doc-the3d/ch6.md",
    //         "/docs/doc-the3d/ch7.md",
    //       ]
    //     },
    //     {
    //       title: '第三部分 通过重构来加深理解',   // 必要的
    //       path:  "/docs/doc-the3d/part3",       // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-the3d/ch8.md",
    //         "/docs/doc-the3d/ch9.md",
    //         "/docs/doc-the3d/ch10.md",
    //         "/docs/doc-the3d/ch11.md",
    //         "/docs/doc-the3d/ch12.md",
    //         "/docs/doc-the3d/ch13.md",
    //       ]
    //     },
    //     {
    //       title: '第四部分 战略设计',   // 必要的
    //       path: "/docs/doc-the3d/part4",       // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-the3d/ch14.md",
    //         "/docs/doc-the3d/ch15.md",
    //         "/docs/doc-the3d/ch16.md",
    //         "/docs/doc-the3d/ch17.md",
    //       ]
    //     },
    //     "/docs/doc-the3d/conclusion.md",
    //   ],
    //   "/docs/doc-java-8-lambdas/": [
    //     "/docs/doc-java-8-lambdas/",
    //     "/docs/doc-java-8-lambdas/preface.md",
    //     "/docs/doc-java-8-lambdas/ch1.md",
    //     "/docs/doc-java-8-lambdas/ch2.md",
    //     "/docs/doc-java-8-lambdas/ch3.md",
    //     "/docs/doc-java-8-lambdas/ch4.md",
    //     "/docs/doc-java-8-lambdas/ch5.md",
    //     "/docs/doc-java-8-lambdas/ch6.md",
    //     "/docs/doc-java-8-lambdas/ch7.md",
    //     "/docs/doc-java-8-lambdas/ch8.md",
    //     "/docs/doc-java-8-lambdas/ch9.md",
    //     "/docs/doc-java-8-lambdas/ch10.md"
    //   ],
    //   "/docs/doc-ydkjs/": [
    //     "/docs/doc-ydkjs/",
    //     // 入门与进阶
    //     {
    //       title: '入门与进阶',   // 必要的
    //       path: '/docs/doc-ydkjs/up&going/',      // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可折叠, 默认值是 true,
    //       sidebarDepth: 4,    // 侧边栏深度, 默认值是 1
    //       children: [
    //         "/docs/doc-ydkjs/up&going/foreword.md", 
    //         "/docs/doc-ydkjs/up&going/ch1.md", 
    //         "/docs/doc-ydkjs/up&going/ch2.md", 
    //         "/docs/doc-ydkjs/up&going/ch3.md",
    //       ]
    //     },
    //     // 作用域与闭包
    //     {
    //       title: '作用域与闭包',   // 必要的
    //       path: '/docs/doc-ydkjs/scope&closures/',      // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可折叠, 默认值是 true,
    //       sidebarDepth: 4,    // 侧边栏深度, 默认值是 1
    //       children: [
    //         "/docs/doc-ydkjs/scope&closures/ch1.md",
    //         "/docs/doc-ydkjs/scope&closures/ch2.md",
    //         "/docs/doc-ydkjs/scope&closures/ch3.md",
    //         "/docs/doc-ydkjs/scope&closures/ch4.md",
    //         "/docs/doc-ydkjs/scope&closures/ch5.md",
    //         "/docs/doc-ydkjs/scope&closures/apA.md",
    //         "/docs/doc-ydkjs/scope&closures/apB.md",
    //         "/docs/doc-ydkjs/scope&closures/apC.md",
    //       ]
    //     },
    //     // this与对象原型
        
    //     {
    //       title: 'this与对象原型',   // 必要的
    //       path: '/docs/doc-ydkjs/this&objectprototypes/',      // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可折叠, 默认值是 true,
    //       sidebarDepth: 4,    // 侧边栏深度, 默认值是 1
    //       children: [
    //         "/docs/doc-ydkjs/this&objectprototypes/foreword.md",
    //         "/docs/doc-ydkjs/this&objectprototypes/ch1.md",
    //         "/docs/doc-ydkjs/this&objectprototypes/ch2.md",
    //         "/docs/doc-ydkjs/this&objectprototypes/ch3.md",
    //         "/docs/doc-ydkjs/this&objectprototypes/ch4.md",
    //         "/docs/doc-ydkjs/this&objectprototypes/ch5.md",
    //         "/docs/doc-ydkjs/this&objectprototypes/ch6.md",
    //         "/docs/doc-ydkjs/this&objectprototypes/apA.md",
    //       ]
    //     },
    //      // 类型与文法
    //     {
    //       title: '类型与文法',   // 必要的
    //       path: "/docs/doc-ydkjs/types&grammar/",      // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可折叠, 默认值是 true,
    //       sidebarDepth: 4,    // 侧边栏深度, 默认值是 1
    //       children: [
    //         "/docs/doc-ydkjs/types&grammar/foreword.md",
    //         "/docs/doc-ydkjs/types&grammar/ch1.md",
    //         "/docs/doc-ydkjs/types&grammar/ch2.md",
    //         "/docs/doc-ydkjs/types&grammar/ch3.md",
    //         "/docs/doc-ydkjs/types&grammar/ch4.md",
    //         "/docs/doc-ydkjs/types&grammar/ch5.md",
    //         "/docs/doc-ydkjs/types&grammar/apA.md",
    //       ]
    //     },
    //     // 异步与性能
    //     {
    //       title: '异步与性能',   // 必要的
    //       path: "/docs/doc-ydkjs/async&performance/",     // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可折叠, 默认值是 true,
    //       sidebarDepth: 4,    // 侧边栏深度, 默认值是 1
    //       children: [
            
    //         "/docs/doc-ydkjs/async&performance/foreword.md",
    //         "/docs/doc-ydkjs/async&performance/ch1.md",
    //         "/docs/doc-ydkjs/async&performance/ch2.md",
    //         "/docs/doc-ydkjs/async&performance/ch3.md",
    //         "/docs/doc-ydkjs/async&performance/ch4.md",
    //         "/docs/doc-ydkjs/async&performance/ch5.md",
    //         "/docs/doc-ydkjs/async&performance/ch6.md",
    //         "/docs/doc-ydkjs/async&performance/apA.md",
    //         "/docs/doc-ydkjs/async&performance/apB.md",
    //       ]
    //     },
        
        
    //     // ES6与未来
    //     {
    //       title: '异步与性能',   // 必要的
    //       path: "/docs/doc-ydkjs/es6&beyond/",     // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可折叠, 默认值是 true,
    //       sidebarDepth: 4,    // 侧边栏深度, 默认值是 1
    //       children: [
    //         "/docs/doc-ydkjs/es6&beyond/foreword.md",
    //         "/docs/doc-ydkjs/es6&beyond/ch1.md",
    //         "/docs/doc-ydkjs/es6&beyond/ch2.md",
    //         "/docs/doc-ydkjs/es6&beyond/ch3.md",
    //         "/docs/doc-ydkjs/es6&beyond/ch4.md",
    //         "/docs/doc-ydkjs/es6&beyond/ch5.md",
    //         "/docs/doc-ydkjs/es6&beyond/ch6.md",
    //         "/docs/doc-ydkjs/es6&beyond/ch7.md",
    //         "/docs/doc-ydkjs/es6&beyond/ch8.md"
    //       ]
    //     },
        
    //   ],
    //   "/docs/doc-java9-modularity/": [
    //     "/docs/doc-java9-modularity/",
    //     "/docs/doc-java9-modularity/preface.md",
    //     {
    //       title: '第一部分 Java模块系统介绍',   // 必要的
    //       path: "/docs/doc-java9-modularity/part1",       // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-java9-modularity/ch1.md",
    //         "/docs/doc-java9-modularity/ch2.md",
    //         "/docs/doc-java9-modularity/ch3.md",
    //         "/docs/doc-java9-modularity/ch4.md",
    //         "/docs/doc-java9-modularity/ch5.md",
    //         "/docs/doc-java9-modularity/ch6.md",
    //       ]
    //     },
        
    //     {
    //       title: '第二部分 迁移',   // 必要的
    //       path: "/docs/doc-java9-modularity/part2",     // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-java9-modularity/ch7.md",
    //         "/docs/doc-java9-modularity/ch8.md",
    //         "/docs/doc-java9-modularity/ch9.md",
    //         "/docs/doc-java9-modularity/ch10.md",
    //       ]
    //     },
    //     {
    //       title: '第三部分 模块化开发工具',   // 必要的
    //       path:"/docs/doc-java9-modularity/part3",      // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-java9-modularity/ch11.md",
    //         "/docs/doc-java9-modularity/ch12.md",
    //         "/docs/doc-java9-modularity/ch13.md",
    //         "/docs/doc-java9-modularity/ch14.md"
    //       ]
    //     },
    //   ],
    //   "/docs/doc-fucking-algorithm/": [
    //     "/docs/doc-fucking-algorithm/",
    //      // 第零章、必读系列
    //     {
    //       title: '第零章、必读系列',   // 必要的
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-fucking-algorithm/think_like_computer/FrameworkAndThoughtsAboutLearningDataStructureAndAlgorithm.md",
    //         "/docs/doc-fucking-algorithm/think_like_computer/why_algs4.md",
    //         "/docs/doc-fucking-algorithm/dynamic_programming/AnalysisOfDynamicProgramming.md",
    //         "/docs/doc-fucking-algorithm/dynamic_programming/Optimal_Substructure.md",
    //         "/docs/doc-fucking-algorithm/think_like_computer/DetailsaboutBacktracking.md",
    //         "/docs/doc-fucking-algorithm/think_like_computer/DetailedBinarySearch.md",
    //         "/docs/doc-fucking-algorithm/think_like_computer/SlidingWindowTechnique.md",
    //         "/docs/doc-fucking-algorithm/think_like_computer/DoublePointerTechnique.md", 
    //         "/docs/doc-fucking-algorithm/technology/linux_process.md",
    //         "/docs/doc-fucking-algorithm/technology/online_practice.md",
    //       ]
    //     },
    //     // 第一章、动态规划系列
    //     {
    //       title: '第一章、动态规划系列',   // 必要的
    //       path: '/docs/doc-fucking-algorithm/dynamic_programming/',      // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-fucking-algorithm/dynamic_programming/AnalysisOfDynamicProgramming.md",
    //         "/docs/doc-fucking-algorithm/dynamic_programming/Optimal_Substructure.md",
    //         "/docs/doc-fucking-algorithm/dynamic_programming/LongestIncreasingSubsequence.md",
    //         "/docs/doc-fucking-algorithm/dynamic_programming/EditDistance.md",
    //         "/docs/doc-fucking-algorithm/dynamic_programming/SuperEgg.md",
    //         "/docs/doc-fucking-algorithm/dynamic_programming/SuperEggDropAdvanced.md", 
    //         "/docs/doc-fucking-algorithm/dynamic_programming/StrategiesForSubsequenceProblem.md",
    //         "/docs/doc-fucking-algorithm/dynamic_programming/GameProblemsInDynamicProgramming.md",
    //         "/docs/doc-fucking-algorithm/dynamic_programming/IntervalScheduling.md",
    //         "/docs/doc-fucking-algorithm/dynamic_programming/KMPCharacterMatchingAlgorithmInDynamicProgramming.md",
    //         "/docs/doc-fucking-algorithm/dynamic_programming/BestTimeToBuyAndSellStock.md",
    //         "/docs/doc-fucking-algorithm/dynamic_programming/HouseRobber.md",
    //         "/docs/doc-fucking-algorithm/dynamic_programming/FourKeysKeyboard.md",
    //         "/docs/doc-fucking-algorithm/dynamic_programming/RegularExpression.md", 
    //         "/docs/doc-fucking-algorithm/dynamic_programming/LongestCommonSubsequence.md",
    //       ]
    //     },
        
    //     // 第二章、数据结构系列
    //     {
    //       title: '第二章、数据结构系列',   // 必要的
    //       path: '/docs/doc-fucking-algorithm/data_structure/',      // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-fucking-algorithm/think_like_computer/FrameworkAndThoughtsAboutLearningDataStructureAndAlgorithm.md",
    //         "/docs/doc-fucking-algorithm/think_like_computer/why_algs4.md",
    //         "/docs/doc-fucking-algorithm/data_structure/binary_heap_implements_priority_queues.md",
    //         "/docs/doc-fucking-algorithm/interview/LRU_algorithm.md",
    //         "/docs/doc-fucking-algorithm/data_structure/The_Manipulation_Collection_of_Binary_Search_Tree.md",
    //         "/docs/doc-fucking-algorithm/data_structure/MonotonicStack.md", 
    //         "/docs/doc-fucking-algorithm/data_structure/Monotonic_queue.md",
    //         "/docs/doc-fucking-algorithm/data_structure/design_Twitter.md",
    //         "/docs/doc-fucking-algorithm/data_structure/reverse_part_of_a_linked_list_via_recursion.md",
    //         "/docs/doc-fucking-algorithm/data_structure/ImplementQueueUsingStacksImplementStackUsingQueues.md",
    //       ]
    //     },
        
    //     // 第三章、算法思维系列
    //     {
    //       title: '第三章、算法思维系列',   // 必要的
    //       path: '/docs/doc-fucking-algorithm/think_like_computer/',      // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-fucking-algorithm/think_like_computer/ThewaytoAlgorithmlearning.md",
    //         "/docs/doc-fucking-algorithm/think_like_computer/DetailsaboutBacktracking.md",
    //         "/docs/doc-fucking-algorithm/interview/Subset_Permutation_Combination.md", 
    //         "/docs/doc-fucking-algorithm/think_like_computer/DetailedBinarySearch.md",
    //         "/docs/doc-fucking-algorithm/think_like_computer/DoublePointerTechnique.md",
    //         "/docs/doc-fucking-algorithm/think_like_computer/SlidingWindowTechnique.md",
    //         "/docs/doc-fucking-algorithm/think_like_computer/The_key_to_resolving_TwoSum_problems.md",
    //         "/docs/doc-fucking-algorithm/think_like_computer/CommonBitManipulation.md",
    //         "/docs/doc-fucking-algorithm/data_structure/Implementing_the_functions_of_a_calculator.md",
    //         "/docs/doc-fucking-algorithm/think_like_computer/PancakesSorting.md", 
    //         "/docs/doc-fucking-algorithm/think_like_computer/prefix.md",
    //         "/docs/doc-fucking-algorithm/think_like_computer/string_multiplication.md",
    //         "/docs/doc-fucking-algorithm/think_like_computer/flood_fill.md",
    //         "/docs/doc-fucking-algorithm/think_like_computer/IntervalMerging.md",
    //         "/docs/doc-fucking-algorithm/think_like_computer/IntervalIntersection.md",
    //         "/docs/doc-fucking-algorithm/think_like_computer/RussianDollEnvelopes.md",
    //         "/docs/doc-fucking-algorithm/think_like_computer/several_counter_intuitive_probability_problems.md", 
    //         "/docs/doc-fucking-algorithm/think_like_computer/Shuffle_Algorithm.md",
    //         "/docs/doc-fucking-algorithm/think_like_computer/RecursionInDetail.md",
    //       ]
    //     },
        
    //     // 第四章、高频面试系列
    //     {
    //       title: '第四章、高频面试系列',   // 必要的
    //       path: '/docs/doc-fucking-algorithm/interview/',      // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-fucking-algorithm/interview/LRU_algorithm.md",
    //         "/docs/doc-fucking-algorithm/interview/Print_PrimeNumbers.md", 
    //         "/docs/doc-fucking-algorithm/dynamic_programming/EditDistance.md",
    //         "/docs/doc-fucking-algorithm/interview/UsingBinarySearchAlgorithm.md",
    //         "/docs/doc-fucking-algorithm/interview/Trapping_Rain_Water.md",
    //         "/docs/doc-fucking-algorithm/interview/Find-Duplicate-and-Missing-Element.md",
    //         "/docs/doc-fucking-algorithm/interview/TheLongestPalindromicSubstring.md",
    //         "/docs/doc-fucking-algorithm/interview/reverse-nodes-in-k-group.md",
    //         "/docs/doc-fucking-algorithm/interview/valid-parentheses.md", 
    //         "/docs/doc-fucking-algorithm/interview/missing_elements.md",
    //         "/docs/doc-fucking-algorithm/interview/RemoveDuplicatesfromSortedArray.md",
    //         "/docs/doc-fucking-algorithm/interview/check_palindromic_linkedlist.md",
    //         "/docs/doc-fucking-algorithm/interview/ReservoirSampling.md",
    //         "/docs/doc-fucking-algorithm/interview/Seatscheduling.md",
    //         "/docs/doc-fucking-algorithm/think_like_computer/Union-find-Explanation.md",
    //         "/docs/doc-fucking-algorithm/think_like_computer/Union-Find-Application.md", 
    //         "/docs/doc-fucking-algorithm/interview/one-line-code-puzzles.md",
    //         "/docs/doc-fucking-algorithm/interview/findSebesquenceWithBinarySearch.md",
    //       ]
    //     },
        
    //     // 第五章、计算机技术
    //     {
    //       title: '第五章、计算机技术',   // 必要的
    //       path: '/docs/doc-fucking-algorithm/technology/',      // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-fucking-algorithm/technology/linux_process.md", 
    //         "/docs/doc-fucking-algorithm/technology/session&cookie.md",
    //         "/docs/doc-fucking-algorithm/technology/linuxshell.md",
    //         "/docs/doc-fucking-algorithm/technology/password.md",
    //         "/docs/doc-fucking-algorithm/technology/redis_invade.md",
    //         "/docs/doc-fucking-algorithm/technology/online_practice.md"
    //       ]
    //     }
    //   ],
    //   "/docs/doc-spip/": [
    //     "/docs/doc-spip/",
    //     "/docs/doc-spip/foreword.md",
    //     "/docs/doc-spip/preface.md",
    //     {
    //       title: '第一部分 介绍',   // 必要的
    //       path: "/docs/doc-spip/part1",       // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-spip/ch1.md",
    //         "/docs/doc-spip/ch2.md",
    //         "/docs/doc-spip/ch3.md",
    //       ]
    //     },
    //     {
    //       title: '第二部分 模式',   // 必要的
    //       path: "/docs/doc-spip/part2",     // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-spip/ch4.md",
    //         "/docs/doc-spip/ch5.md",
    //         "/docs/doc-spip/ch6.md",
    //         "/docs/doc-spip/ch7.md",
    //         "/docs/doc-spip/ch8.md",
    //         "/docs/doc-spip/ch9.md",
    //         "/docs/doc-spip/ch10.md",
    //         "/docs/doc-spip/ch11.md",
    //         "/docs/doc-spip/ch12.md",
    //         "/docs/doc-spip/ch13.md",
    //         "/docs/doc-spip/ch14.md",
    //         "/docs/doc-spip/ch15.md",
    //       ]
    //     },
    //     {
    //       title: '第三部分 模式的使用',   // 必要的
    //       path: "/docs/doc-spip/part3",      // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
            
    //         "/docs/doc-spip/ch16.md",
    //         "/docs/doc-spip/ch17.md"
    //       ]
    //     },
        
    //   ],
    //   "/docs/doc-iddd/": [
    //     "/docs/doc-iddd/",
    //     "/docs/doc-iddd/ch1.md",
    //     "/docs/doc-iddd/ch2.md",
    //     "/docs/doc-iddd/ch3.md",
    //     "/docs/doc-iddd/ch4.md",
    //     "/docs/doc-iddd/ch5.md",
    //     "/docs/doc-iddd/ch6.md",
    //     "/docs/doc-iddd/ch7.md",
    //     "/docs/doc-iddd/ch8.md",
    //     "/docs/doc-iddd/ch9.md",
    //     "/docs/doc-iddd/ch10.md",
    //     "/docs/doc-iddd/ch11.md",
    //     "/docs/doc-iddd/ch12.md",
    //     "/docs/doc-iddd/ch13.md",
    //     "/docs/doc-iddd/ch14.md",
    //   ],
    //   "/docs/doc-hp/": [
    //     "/docs/doc-hp/",
    //     "/docs/doc-hp/ch1.md",
    //     "/docs/doc-hp/ch2.md",
    //     "/docs/doc-hp/ch3.md",
    //     "/docs/doc-hp/ch4.md",
    //     "/docs/doc-hp/ch5.md",
    //     "/docs/doc-hp/ch6.md",
    //     "/docs/doc-hp/ch7.md",
    //     "/docs/doc-hp/ch8.md",
    //     "/docs/doc-hp/ch9.md",
    //     "/docs/doc-hp/ch10.md",
    //     "/docs/doc-hp/ch11.md",
    //     "/docs/doc-hp/ch12.md",
    //     "/docs/doc-hp/ch13.md",
    //     "/docs/doc-hp/ch14.md",
    //     "/docs/doc-hp/ch15.md",
    //   ],
    //   "/docs/doc-refact2/": [
    //     "/docs/doc-refact2/",
    //     "/docs/doc-refact2/ch1.md",
    //     "/docs/doc-refact2/ch2.md",
    //     "/docs/doc-refact2/ch3.md",
    //     "/docs/doc-refact2/ch4.md",
    //     "/docs/doc-refact2/ch5.md",
    //     "/docs/doc-refact2/ch6.md",
    //     "/docs/doc-refact2/ch7.md",
    //     "/docs/doc-refact2/ch8.md",
    //     "/docs/doc-refact2/ch9.md",
    //     "/docs/doc-refact2/ch10.md",
    //     "/docs/doc-refact2/ch11.md",
    //     "/docs/doc-refact2/ch12.md",
    //   ],
    //   "/docs/doc-pw/": [
    //     "/docs/doc-pw/",
    //     "/docs/doc-pw/preface.md",
    //     {
    //       title: '第一部分 管理人力资源',   // 必要的
    //       path: "/docs/doc-pw/part1",      // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-pw/ch1.md",
    //         "/docs/doc-pw/ch2.md",
    //         "/docs/doc-pw/ch3.md",
    //         "/docs/doc-pw/ch4.md",
    //         "/docs/doc-pw/ch5.md",
    //         "/docs/doc-pw/ch6.md",
    //       ]
    //     },
    //     {
    //       title: '第二部分 办公环境',   // 必要的
    //       path: "/docs/doc-pw/part2",      // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-pw/ch7.md",
    //         "/docs/doc-pw/ch8.md",
    //         "/docs/doc-pw/ch9.md",
    //         "/docs/doc-pw/ch9b.md",
    //         "/docs/doc-pw/ch10.md",
    //         "/docs/doc-pw/ch11.md",
    //         "/docs/doc-pw/ch12.md",
    //         "/docs/doc-pw/ch13.md",
    //       ]
    //     },
    //     {
    //       title: '第三部分 正确的人',   // 必要的
    //       path: "/docs/doc-pw/part3",      // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-pw/ch14.md",
    //         "/docs/doc-pw/ch15.md",
    //         "/docs/doc-pw/ch16.md",
    //         "/docs/doc-pw/ch17.md",
    //         "/docs/doc-pw/ch18.md",
    //         "/docs/doc-pw/ch19.md",
    //         "/docs/doc-pw/ch20.md",
    //       ]
    //     },
    //     {
    //       title: '第四部分 高效团队养成',   // 必要的
    //       path: "/docs/doc-pw/part4",      // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-pw/ch21.md",
    //         "/docs/doc-pw/ch22.md",
    //         "/docs/doc-pw/ch23.md",
    //         "/docs/doc-pw/ch24.md",
    //         "/docs/doc-pw/ch25.md",
    //         "/docs/doc-pw/ch26.md",
    //         "/docs/doc-pw/ch27.md",
    //         "/docs/doc-pw/ch28.md",
    //       ]
    //     },
    //     {
    //       title: '第五部分 沃土',   // 必要的
    //       path: "/docs/doc-pw/part5",     // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-pw/ch29.md",
    //         "/docs/doc-pw/ch30.md",
    //         "/docs/doc-pw/ch31.md",
    //         "/docs/doc-pw/ch32.md",
    //         "/docs/doc-pw/ch33.md",
    //         "/docs/doc-pw/ch34.md",
    //         "/docs/doc-pw/ch35.md",
    //         "/docs/doc-pw/ch36.md",
    //       ]
    //     },
    //     {
    //       title: '第六部分 快乐地工作',   // 必要的
    //       path: "/docs/doc-pw/part6",      // 可选的, 标题的跳转链接，应为绝对路径且必须存在
    //       collapsable: true, // 可选的, 默认值是 true,
    //       sidebarDepth: 4,    // 可选的, 默认值是 1
    //       children: [
    //         "/docs/doc-pw/ch37.md",
    //         "/docs/doc-pw/ch38.md",
    //         "/docs/doc-pw/ch39.md",
    //       ]
    //     },
    //   ],
    //   "/docs/doc-typescript/": [
    //     "/docs/doc-typescript/",
    //     {
    //       title: '写在前面',
    //       path: '/docs/doc-typescript/',
    //       collapsable: true,
    //     },
    //     {
    //       title: 'TypeScript 项目',
    //       collapsable: true,
    //       children: [
    //         '/docs/doc-typescript/project/compilationContext.md',
    //         '/docs/doc-typescript/project/declarationspaces.md',
    //         '/docs/doc-typescript/project/modules.md',
    //         '/docs/doc-typescript/project/namespaces.md',
    //         '/docs/doc-typescript/project/dynamicImportExpressions.md'
    //       ]
    //     },
    //     {
    //       title: 'TypeScript 类型系统',
    //       collapsable: true,
    //       children: [
    //         '/docs/doc-typescript/typings/overview.md',
    //         '/docs/doc-typescript/typings/migrating.md',
    //         '/docs/doc-typescript/typings/types.md',
    //         '/docs/doc-typescript/typings/ambient',
    //         '/docs/doc-typescript/typings/interfaces.md',
    //         '/docs/doc-typescript/typings/enums.md',
    //         '/docs/doc-typescript/typings/lib.md',
    //         '/docs/doc-typescript/typings/functions.md',
    //         '/docs/doc-typescript/typings/callable.md',
    //         '/docs/doc-typescript/typings/typeAssertion.md',
    //         '/docs/doc-typescript/typings/freshness.md',
    //         '/docs/doc-typescript/typings/typeGuard.md',
    //         '/docs/doc-typescript/typings/literals.md',
    //         '/docs/doc-typescript/typings/readonly.md',
    //         '/docs/doc-typescript/typings/generices.md',
    //         '/docs/doc-typescript/typings/typeInference.md',
    //         '/docs/doc-typescript/typings/typeCompatibility.md',
    //         '/docs/doc-typescript/typings/neverType.md',
    //         '/docs/doc-typescript/typings/discrominatedUnion.md',
    //         '/docs/doc-typescript/typings/indexSignatures.md',
    //         '/docs/doc-typescript/typings/movingTypes.md',
    //         '/docs/doc-typescript/typings/exceptionsHanding.md',
    //         '/docs/doc-typescript/typings/mixins.md',
    //         '/docs/doc-typescript/typings/thisType.md'
    //       ]
    //     },
    //     {
    //       title: 'JSX',
    //       collapsable: true,
    //       children: [
    //         '/docs/doc-typescript/jsx/support.md', 
    //         '/docs/doc-typescript/jsx/reactJSX.md',
    //         '/docs/doc-typescript/jsx/nonReactJSX.md']
    //     },
    //     {
    //       title: 'TypeScript 错误提示',
    //       collapsable: true,
    //       children: [
    //         '/docs/doc-typescript/error/interpreting.md', 
    //         '/docs/doc-typescript/error/common.md'
    //       ]
    //     },
    //     {
    //       title: 'TIPs',
    //       collapsable: true,
    //       children: [
    //         '/docs/doc-typescript/tips/stringBasedEmuns.md',
    //         '/docs/doc-typescript/tips/nominalTyping.md',
    //         '/docs/doc-typescript/tips/statefulFunctions.md',
    //         '/docs/doc-typescript/tips/bind.md',
    //         '/docs/doc-typescript/tips/curry.md',
    //         '/docs/doc-typescript/tips/typeInstantiation.md',
    //         '/docs/doc-typescript/tips/lazyObjectLiteralInitialization.md',
    //         '/docs/doc-typescript/tips/classAreUseful.md',
    //         '/docs/doc-typescript/tips/avoidExportDefault.md',
    //         '/docs/doc-typescript/tips/limitPropertySetters.md',
    //         '/docs/doc-typescript/tips/createArrays.md',
    //         '/docs/doc-typescript/tips/outFileCaution.md',
    //         '/docs/doc-typescript/tips/staticConstructors.md',
    //         '/docs/doc-typescript/tips/singletonPatern.md',
    //         '/docs/doc-typescript/tips/functionParameters.md',
    //         '/docs/doc-typescript/tips/truthy.md',
    //         '/docs/doc-typescript/tips/buildToggles.md',
    //         '/docs/doc-typescript/tips/typesafeEventEmitter.md',
    //         '/docs/doc-typescript/tips/metadata.md',
    //         '/docs/doc-typescript/tips/covarianceAndContravariance.md',
    //         '/docs/doc-typescript/tips/infer.md'
    //       ]
    //     },
    //     {
    //       title: 'TypeScript 编译原理',
    //       collapsable: true,
    //       children: [
    //         '/docs/doc-typescript/compiler/overview.md',
    //         '/docs/doc-typescript/compiler/program.md',
    //         '/docs/doc-typescript/compiler/ast.md',
    //         '/docs/doc-typescript/compiler/scanner.md',
    //         '/docs/doc-typescript/compiler/parser.md',
    //         '/docs/doc-typescript/compiler/binder.md',
    //         '/docs/doc-typescript/compiler/checker.md',
    //         '/docs/doc-typescript/compiler/emitter.md'
    //       ]
    //     },
    //     {
    //       title: 'TypeScript FAQs',
    //       collapsable: true,
    //       children: [
    //         '/docs/doc-typescript/faqs/common-bug-not-bugs.md',
    //         '/docs/doc-typescript/faqs/common-feature-request.md',
    //         '/docs/doc-typescript/faqs/type-system-behavior.md',
    //         '/docs/doc-typescript/faqs/function.md',
    //         '/docs/doc-typescript/faqs/class.md',
    //         '/docs/doc-typescript/faqs/generics.md',
    //         '/docs/doc-typescript/faqs/modules.md',
    //         '/docs/doc-typescript/faqs/enums.md',
    //         '/docs/doc-typescript/faqs/type-guards.md',
    //         '/docs/doc-typescript/faqs/jsx-and-react.md',
    //         '/docs/doc-typescript/faqs/thing-that-dont-work.md',
    //         '/docs/doc-typescript/faqs/commandline-behavior.md',
    //         '/docs/doc-typescript/faqs/tsconfig-behavior.md'
    //       ]
    //     },
    //     {
    //       title: 'TypeScript 更新',
    //       collapsable: true,
    //       children: [
    //         '/docs/doc-typescript/new/typescript-3.9.md', 
    //         '/docs/doc-typescript/new/typescript-3.8', '/docs/doc-typescript/new/typescript-3.7.md'
    //       ]
    //     }
    //     // {
    //     //   title: 'TypeScript 更新',
    //     //   collapsable: true,
    //     //   children: ['/new/typescript-3.7']
    //     // }
    //   ],
    //   "/docs/doc-solid-python-code/": [
    //     "/docs/doc-solid-python-code/", 
    //     "/docs/doc-solid-python-code/ch1/", 
    //     "/docs/doc-solid-python-code/ch2/", 
    //     "/docs/doc-solid-python-code/ch3/", 
    //     "/docs/doc-solid-python-code/ch4/",
    //     "/docs/doc-solid-python-code/ch5/", 
    //     "/docs/doc-solid-python-code/ch6/",
    //     "/docs/doc-solid-python-code/ch7/",
    //     "/docs/doc-solid-python-code/ch8/",
    //     "/docs/doc-solid-python-code/SUMMARY.md",
    //   ],
    //   "/docs/doc-onJava8/": [
    //     "/docs/doc-onJava8/",
    //     {
    //       title: '封面',
    //       path: "/docs/doc-onJava8/00-On-Java-8.md",
    //     },
    //     "/docs/doc-onJava8/00-Preface.md",
    //     "/docs/doc-onJava8/00-Introduction.md",
    //     '/docs/doc-onJava8/01-What-is-an-Object.md',
    //     '/docs/doc-onJava8/02-Installing-Java-and-the-Book-Examples.md',
    //     '/docs/doc-onJava8/03-Objects-Everywhere.md',
    //     '/docs/doc-onJava8/04-Operators.md',
    //     '/docs/doc-onJava8/05-Control-Flow.md',
    //     '/docs/doc-onJava8/06-Housekeeping.md',
    //     '/docs/doc-onJava8/07-Implementation-Hiding.md',
    //     '/docs/doc-onJava8/08-Reuse.md',
    //     '/docs/doc-onJava8/09-Polymorphism.md',
    //     '/docs/doc-onJava8/10-Interfaces.md',
    //     '/docs/doc-onJava8/11-Inner-Classes.md',
    //     '/docs/doc-onJava8/12-Collections.md',
    //     '/docs/doc-onJava8/13-Functional-Programming.md',
    //     '/docs/doc-onJava8/14-Streams.md',
    //     '/docs/doc-onJava8/15-Exceptions.md',
    //     '/docs/doc-onJava8/16-Validating-Your-Code.md',
    //     '/docs/doc-onJava8/17-Files.md',
    //     '/docs/doc-onJava8/18-Strings.md',
    //     '/docs/doc-onJava8/19-Type-Information.md',
    //     '/docs/doc-onJava8/20-Generics.md',
    //     '/docs/doc-onJava8/21-Arrays.md',
    //     '/docs/doc-onJava8/22-Enumerations.md',
    //     '/docs/doc-onJava8/23-Annotations.md',
    //     '/docs/doc-onJava8/24-Concurrent-Programming.md',
    //     '/docs/doc-onJava8/25-Patterns.md',
    //     '/docs/doc-onJava8/Appendix-Becoming-a-Programmer.md',
    //     '/docs/doc-onJava8/Appendix-Benefits-and-Costs-of-Static-Type-Checking.md',
    //     '/docs/doc-onJava8/Appendix-Collection-Topics.md',
    //     '/docs/doc-onJava8/Appendix-Data-Compression.md',
    //     '/docs/doc-onJava8/Appendix-IO-Streams.md',
    //     '/docs/doc-onJava8/Appendix-Javadoc.md',
    //     '/docs/doc-onJava8/Appendix-Low-Level-Concurrency.md',
    //     '/docs/doc-onJava8/Appendix-New-IO.md',
    //     '/docs/doc-onJava8/Appendix-Object-Serialization.md',
    //     '/docs/doc-onJava8/Appendix-Passing-and-Returning-Objects.md',

    //     '/docs/doc-onJava8/Appendix-Programming-Guidelines.md',
    //     '/docs/doc-onJava8/Appendix-Standard-IO.md',
    //     '/docs/doc-onJava8/Appendix-Supplements.md',
    //     '/docs/doc-onJava8/Appendix-The-Positive-Legacy-of-C-plus-plus-and-Java.md',
    //     '/docs/doc-onJava8/Appendix-Understanding-equals-and-hashCode.md',
    //     '/docs/doc-onJava8/GLOSSARY.md',
    //   ]
    // },
    sidebarDepth: 4,
    nav: [
      { text: '首页', link: '/' },
      { 
        text: '技术文档',
        link: '/docs/',
        items: [
          
          {
            text: 'Java',
            items: [
              {
                text: 'OnJava8',
                link: 'https://yukitan.gitee.io/doc-on-java8/',
                target: '_self'
              },
              {
                text: 'Java 8 函数式编程',
                link: 'https://yukitan.gitee.io/doc-java8/',
                target: '_self'
              },
              {
                text: 'Java 9 模块化开发',
                link: 'https://yukitan.gitee.io/doc-java9-modularity/',
                target: '_self'
              },
            ]
          },
          {
            text: '前端',
            items: [
              {
                text: '你不知道的JavaScript',
                link: 'https://yukitan.gitee.io/doc-ydkjs/',
                target: '_self'
              },
              {
                text: '深入理解 TypeScript',
                link: 'https://yukitan.gitee.io/doc-typescript/',
                target: '_self'
              },
              {
                text: 'CSS权威指南第4版',
                link: 'https://yukitan.gitee.io/doc-csstdg4/',
                target: '_self'
              },
              {
                text: 'Javascript权威指南第7版',
                link: 'https://yukitan.gitee.io/doc-jstdg7/',
                target: '_self'
              },
            ]
          },
          {
            text: '软件工程',
            items: [
              {
                text: '代码整洁之道',
                link: 'https://yukitan.gitee.io/doc-clean-code/',
                target: '_self'
              },
              {
                text: '软件设计哲学',
                link: 'https://yukitan.gitee.io/doc-apofsd/',
                target: '_self'
              },
              {
                text: '架构整洁之道',
                link: 'https://yukitan.gitee.io/doc-clean-architecture/',
                target: '_self'
              },
              {
                text: '领域驱动设计',
                link: 'https://yukitan.gitee.io/doc-the3d/',
                target: '_self'
              },
              
              {
                text: '实现领域驱动设计',
                link: 'https://yukitan.gitee.io/doc-iddd/',
                target: '_self'
              },
              {
                text: '重构 改善既有代码的设计 2nd',
                link: 'https://yukitan.gitee.io/doc-refact2/',
                target: '_self'
              },
              {
                text: '人月神话',
                link: 'https://yukitan.gitee.io/doc-the3m/',
                target: '_self'
              },
              {
                text: '黑客与画家',
                link: 'https://yukitan.gitee.io/doc-hp/',
                target: '_self'
              },
            ]
          },
          {
            text: '其他',
            items: [
              {
                text: '人件（原书第 3 版）',
                link: 'https://yukitan.gitee.io/doc-pw/',
                target: '_self'
              },
              
              {
                text: 'labuladong 的算法小抄',
                link: 'https://yukitan.gitee.io/doc-fucking-algorithm/',
                target: '_self'
              },
              
              {
                text: 'Security Patterns in Practice',
                link: 'https://yukitan.gitee.io/doc-spip/',
                target: '_self'
              },
              
              
              {
                text: '编写高质量代码改善 Python 程序的 91 个建议',
                link: 'https://yukitan.gitee.io/doc-solid-python-code/',
                target: '_self'
              },
            ]
          },
        ]
      },
      { text: 'blog', link: 'https://blog.yuki520.cn' },
    ]
  }
}
